package com.ruoyi.wx.service;

import java.text.ParseException;
import java.util.Date;
import java.util.List;

import com.ruoyi.info.domain.VinfoCar;
import com.ruoyi.wx.domain.VehiclesLog;

/**
 * 车辆日志Service接口
 *
 * @author oy
 * @date 2022-12-13
 */
public interface IVehiclesLogService
{
    /**
     * 查询车辆日志
     *
     * @param vehicleLogId 车辆日志主键
     * @return 车辆日志
     */
    public VehiclesLog selectVehiclesLogByVehicleLogId(Long vehicleLogId);

    /**
     * 查询车辆日志列表
     *
     * @param vehiclesLog 车辆日志
     * @return 车辆日志集合
     */
    public List<VehiclesLog> selectVehiclesLogList(VehiclesLog vehiclesLog);

    /**
     * 新增车辆日志
     *
     * @param vehiclesLog 车辆日志
     * @return 结果
     */
    public int insertVehiclesLog(VehiclesLog vehiclesLog);

    /**
     * 修改车辆日志
     *
     * @param vehiclesLog 车辆日志
     * @return 结果
     */
    public int updateVehiclesLog(VehiclesLog vehiclesLog);

    /**
     * 批量删除车辆日志
     *
     * @param vehicleLogIds 需要删除的车辆日志主键集合
     * @return 结果
     */
    public int deleteVehiclesLogByVehicleLogIds(Long[] vehicleLogIds);

    /**
     * 删除车辆日志信息
     *
     * @param vehicleLogId 车辆日志主键
     * @return 结果
     */
    public int deleteVehiclesLogByVehicleLogId(Long vehicleLogId);

    Double selectToCountWeight(String deviceNo, Date beginTime, Date endTime) throws ParseException;

    Double selectCountWeight(String carNo, Date beginTime, Date endTime);

    Date selectEarliestDate();

    List<VehiclesLog> selectByCarNoAndDateRange(Long deviceNo, String carNo, Date beginTime, Date endTime);

    List<VinfoCar> selectCar();

    void deleteVehiclesLogByVehicleLogCreateTime(Date date);
}
